package openation;

import book.Book;
import book.BookList;

import java.util.Scanner;

public class AddOperation implements IOperation{
    /**
     * 创建一个新增图书类AddOperation，用来新增图书，继续接口IOperation
     * 重写接口的抽象方法work，参数类型为书架bookList，通过操作参数bookList来实现新增图书
     * work方法中实现了具体的新增图书的功能
     * 1输入图书的各种参数书名、作者、价格、所属类型，需要把价格之后的空格吃了
     * 2实例化一个Book对象，调用构造方法，得到一本新的图书
     * 3创建一个整型变量currentCount用来接收获取bookList里面的count的值
     * 4调用bookList里面setBook方法，把currentCount值和book新的图书传给bookList.setBook
     * 5、把数组的下标往后移一位，调用里面bookList的.setCount方法，给count+1
     * @param bookList
     */
    public void work(BookList bookList) {

        System.out.println("请输入新增的图书：");
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入书名：");
        String name = scanner.nextLine();
        System.out.println("请输入作者：");
        String author = scanner.nextLine();
        System.out.println("请输入价格：");
        double price = scanner.nextDouble();
        String d = scanner.nextLine();
        System.out.println("请输入所属类型：");
        String type = scanner.nextLine();

        Book book = new Book(name,author,price,type);

        int currentCount = bookList.getCount();

        bookList.setBook(currentCount,book);
        System.out.println("图书新增成功");
        bookList.setCount(currentCount + 1);
    }
}
